package com.xyy.kingdeejdy.pojo.erp;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @Author itmei
 * @Date 2023/7/30 15:25
 * @description: 金蝶订单信息上报
 * @Title: OrderPushInfo
 * @Package com.xyy.kingdeejdy.pojo.erp
 */
@NoArgsConstructor
@Data
public class JdOrderPushInfo {
    @JsonProperty("id")
    private Long id;
    @JsonProperty("date")
    private String date;
    @JsonProperty("number")
    private String number;
    @JsonProperty("customerNumber")
    private String customerNumber;
    @JsonProperty("customerName")
    private String customerName;
    @JsonProperty("employeeNumber")
    private String employeeNumber;
    @JsonProperty("employeeName")
    private String employeeName;
    @JsonProperty("totalQty")
    private Integer totalQty;
    @JsonProperty("totalAmount")
    private Double totalAmount;
    @JsonProperty("amount")
    private Double amount;
    @JsonProperty("discAmount")
    private Integer discAmount;
    @JsonProperty("discRate")
    private Integer discRate;
    @JsonProperty("receivedAmt")
    private Integer receivedAmt;
    @JsonProperty("receiptStatus")
    private Integer receiptStatus;
    @JsonProperty("accounts")
    private List<?> accounts;
    @JsonProperty("creator")
    private String creator;
    @JsonProperty("checkStatus")
    private Boolean checkStatus;
    @JsonProperty("remark")
    private String remark;
    @JsonProperty("customerFee")
    private Integer customerFee;
    @JsonProperty("contactAddr")
    private String contactAddr;
    @JsonProperty("udfValue")
    private List<?> udfValue;
    @JsonProperty("deliveryMethodName")
    private String deliveryMethodName;
    @JsonProperty("entries")
    private List<EntriesDTO> entries;
    @JsonProperty("totalDisc")
    private Integer totalDisc;
    @JsonProperty("createTime")
    private String createTime;
    @JsonProperty("updateTime")
    private String updateTime;

    @NoArgsConstructor
    @Data
    public static class EntriesDTO {
        @JsonProperty("entryId")
        private Integer entryId;
        @JsonProperty("productId")
        private Long productId;
        @JsonProperty("productNumber")
        private String productNumber;
        @JsonProperty("productName")
        private String productName;
        @JsonProperty("skuId")
        private Integer skuId;
        @JsonProperty("unit")
        private Long unit;
        @JsonProperty("location")
        private String location;
        @JsonProperty("locationNumber")
        private String locationNumber;
        @JsonProperty("qty")
        private Integer qty;
        @JsonProperty("mainQty")
        private Integer mainQty;
        @JsonProperty("price")
        private Double price;
        @JsonProperty("discRate")
        private Integer discRate;
        @JsonProperty("discAmt")
        private Integer discAmt;
        @JsonProperty("amount")
        private Double amount;
        @JsonProperty("remark")
        private String remark;
        @JsonProperty("batch")
        private String batch;
        @JsonProperty("prodDate")
        private String prodDate;
        @JsonProperty("safeDays")
        private Integer safeDays;
    }
}
